package com.wdc.simple.day01;

import java.util.ArrayList;

import java.util.HashSet;
import java.util.Scanner;

public class Main02 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str1 = scan.nextLine();
        String str2 = scan.nextLine();
        //长度要相等 ，获取每个字符，如果str2 的包含 str1 就返回yes
        //先创建两个集合放入数据
//        ArrayList<Object> list1 = new ArrayList<>();
//        ArrayList<Object> list2 = new ArrayList<>();
//        for (int i = 0; i < str1.length(); i++) {
//            list1.add(str1.charAt(i));
//        }
//        for (int i = 0; i < str2.length(); i++) {
//            list2.add(str2.charAt(i));
//        }
//        if (list1.size() == list2.size()){
//            for (int i = 0; i < list1.size(); i++) {
//                Object o = list1.get(i);
//                if (!(list2.contains(o))){
//                    System.out.println("NO");
//                    return;
//                }
//            }
//            System.out.println("YES");
//            return;
//
//        }
//        System.out.println("NO");
        if (solution(str1,str2)){
            System.out.println("YES");
        }else {
            System.out.println("NO");
        }


        scan.close();
    }

    public static boolean solution(String str1,String str2){
        HashSet<Object> hashSet1 = new HashSet<>();
        HashSet<Object> hashSet2 = new HashSet<>();

        for (char c : str1.toCharArray()) {
            hashSet1.add(c);
        }
        for (char c : str2.toCharArray()) {
            hashSet2.add(c);
        }
        return hashSet1.equals(hashSet2);
    }
}
